Accelerating Genetic Algorithm Using General Purpose GPU and CUDA
نویسندگان
چکیده
Genetic Algorithm (GA) is one of most popular swarm based evolutionary search algorithm that simulates natural phenomenon of genetic evolution for searching solution to arbitrary engineering problems. Although GAs are very effective in solving many practical problems, their execution time can become a limiting factor for evolving solution to most of real life problems as it involve large number of parameters that are to be determined. Fortunately, the most time-consuming operators like fitness evaluations, selection, crossover and mutation operations that involves multiple data independent computations. Such computations can be made parallel on GPU cores using Compute Unified Design Architecture (CUDA) platform. In this paper, various operations of GA such as fitness evaluation, selection, crossover and mutation, etc. are implemented in parallel on GPU cores and then performance is compared with its serial implementation. The algorithm performances in serial and in parallel implementations are examined on a testbed of well-known benchmark optimization functions. The performances are analyzed with varying parameters viz. (i) population sizes, (ii) dimensional sizes, and (iii) problems of differing complexities. Results shows that the overall computational time can substantially be decreased by parallel implementation on GPU cores. The proposed implementations resulted in 1.18 to 4.15 times faster than the corresponding serial implementation on CPU.
منابع مشابه
Accelerating high-order WENO schemes using two heterogeneous GPUs
A double-GPU code is developed to accelerate WENO schemes. The test problem is a compressible viscous flow. The convective terms are discretized using third- to ninth-order WENO schemes and the viscous terms are discretized by the standard fourth-order central scheme. The code written in CUDA programming language is developed by modifying a single-GPU code. The OpenMP library is used for parall...
متن کاملAn approach to Improve Particle Swarm Optimization Algorithm Using CUDA
The time consumption in solving computationally heavy problems has always been a concern for computer programmers. Due to simplicity of its implementation, the PSO (Particle Swarm Optimization) is a suitable meta-heuristic algorithm for solving computationally heavy problems. However, despite the simplicity, the algorithm is inefficient for solving real computationally heavy problems but the pr...
متن کاملParallel Implementation of Particle Swarm Optimization Variants Using Graphics Processing Unit Platform
There are different variants of Particle Swarm Optimization (PSO) algorithm such as Adaptive Particle Swarm Optimization (APSO) and Particle Swarm Optimization with an Aging Leader and Challengers (ALC-PSO). These algorithms improve the performance of PSO in terms of finding the best solution and accelerating the convergence speed. However, these algorithms are computationally intensive. The go...
متن کاملA virtual machine model for accelerating relational database joins using a general purpose GPU
We demonstrate a speedup for database joins using a general purpose graphics processing unit (GPGPU). The technique is novel in that it operates on an SQL virtual machine model developed using CUDA. The implementation compiles an SQL statement to instructions of the virtual machine that are then executed in parallel on the GPU. We use the threedimensional structure of the CUDA grid and thread m...
متن کاملAccelerating Molecular Dynamics Simulation Using Graphics Processing Unit
We have developed CUDA-enabled version of a general purpose molecular dynamics simulation code for GPU. Implementation details including parallelization scheme and performance optimization are described. Here we have focused on the non-bonded force calculation because it is most time consuming part in molecular dynamics simulation. Timing results using CUDA-enabled and CPU versions were obtaine...
متن کامل